$.fn.pagination=function (option) {
  var pageNo = option.pageNo || 1;//请求类型
  var rows = option.rows || 10;//
  var total = option.total || 0;//
  var showTabs=option.showTabs || 10;
  var backfun = option.backfun || function (data) {};
  var maxPage= Math.ceil(total / rows);

  var pno=showTabs;
  //设置第一个显示的页码数  固定当前页码到中间
  var startpage = pageNo-(pno%2==0? pno/2-1 : pno/2);
  //设置最后一个显示的页码数
  var endpage = pageNo+pno/2;
  //如果计算出开始页码小于1 那么开始页码设置为1
  if(startpage<1){
    startpage = 1;
    //如果开始页码为1并且最大页码大于或者等于当前页码 结束页码为页码显示长度
    if(maxPage>=pno) {endpage = pno;}
    //显示最后一页为页码最大值
    else endpage = maxPage;
  }
  //如果结束页码大于页码最大值
  if(endpage>maxPage){
    //设置结束页码等于页码最大值
    endpage = maxPage;
    //设置最后一组页码的开头页码数
    //如果结束页码减去默认显示的页码长度大于零那么开始页码就是结束页码减去页码长度加1
    if((endpage-pno)>0) startpage = endpage-pno+1;
    else startpage = 1;
  }
  //如果页码长度大于最大页码数那么设置页面长度等于最大页码数
  if(pageNo>maxPage){
    pageNo=maxPage;
  }

  //创建分页容器
  var baoxdiv=jQuery('<div class="box"></div>');

  //如果页码大于1 显示上一页 并插入到容器
  if(pageNo>1){
    var aa=$('<a>上一页</a>');
    aa.bind("click",{pageNo:pageNo-1},backfun);
    baoxdiv.append(aa);
  }
  //如果页码大于等于3 显示第一页并出现省略号
  if(startpage >=3){
    var aa=$('<a>1</a>');
    aa.bind("click",{pageNo:1},backfun);
    baoxdiv.append(aa);
    baoxdiv.append('<span class="ellipsis">...</span>');
  }



  for(var i=startpage;i<=endpage;i++){
    if(i==pageNo){
      baoxdiv.append($('<a class="on">'+i+'</a>'));
    }else{
      var aa=$('<a >'+i+'</a>');
      aa.bind("click",{pageNo:i},backfun);
      baoxdiv.append(aa);
    }
  }

  if(endpage <=maxPage-2){
    baoxdiv.append('<span class="ellipsis">...</span>');
    var aa=$('<a>'+maxPage+'</a>');
    aa.bind("click",{pageNo:maxPage},backfun);
    baoxdiv.append(aa);
  }


  if(pageNo<maxPage){
    var aa=$('<a>下一页</a>');
    aa.bind("click",{pageNo:pageNo+1},backfun);
    baoxdiv.append(aa);
  }
  baoxdiv.append($('<span class="pageMessage">'+pageNo+"/"+maxPage+",总条数："+total+'</span>'));

  $(this).html(baoxdiv);

};
